#pragma once
//standard headers
#include<iostream>
#include<sstream>
#include<string>
#include<algorithm>
#include<cstdlib>
#include<ctime>
#include<cmath>
#include<fstream>
#include<array>
#include<memory>
#include<tuple>
#include<thread>
#include<mutex>
#include<vector>
#include<stack>
#include<queue>
#include<cstring>
#include<unordered_map>
#include<unordered_set>
#include<list>
#include<random>
#include<climits>
#include<set>
#include<bitset>
#include<forward_list>
using namespace std;

//#include"function.h"
//Global varible

//
//#include"function.h"

//
//#define __LOG_FILE__


//typedef uint_fast32_t uint;

#define ZERO	0
#define ONE	1
#define X		2
const char xmap[]={'0','1','X'};

#define ERR_MSG(x)  {cerr<<__FUNCTION__<<":"<<__LINE__\
<<":";throw generic_msg(x);}

class generic_msg
{
string data;
public:
	generic_msg(const string &s)
	{
		data=s;
	}
	string what()
	{
		return data;
	}
};
